package com.baizhi.controller;

import com.baizhi.entity.User;
import com.baizhi.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin  //允许所有请求访问这个接口中所有方法
public class UserController {

    //添加日志对象
    private static final Logger log = LoggerFactory.getLogger(UserController.class);

    @Autowired
    private UserService userService;

    //根据id删除用户信息的接口
    @DeleteMapping("/delete/{id}")
    public void delete(@PathVariable("id") Integer id){
        userService.delete(id);
    }

    //根据id查询用户信息的接口
    @GetMapping("user/{id}")
    public User user(@PathVariable("id") Integer id){
        log.info("查询的id为: {}",id);
        return userService.findById(id);
    }

    //添加的接口
    @PostMapping("saveOrUpdate")
    public void saveOrUpdate(@RequestBody User user){
        log.info("接收的用户数据: {}",user);
        //判断存在id更新操作  不存在id添加操作
        if (StringUtils.isEmpty(user.getId())) {  //如果为空
            log.info("添加业务逻辑.....");
            userService.save(user);//添加
        }else{
            log.info("更新业务逻辑.....");
            userService.update(user);
        }
    }

    //查询所有员工列表一个接口
    @GetMapping("users")
    public List<User> users(){
        return userService.findAll();
    }
}
